package main

import (
	"time"
	"yundian/internel/app/dao"
	"yundian/internel/app/helper"
	"yundian/internel/app/models/devrule"
	"yundian/internel/app/models/placemodel"
	"yundian/internel/app/models/prices"
	"yundian/internel/pkg/dbs"
	"yundian/internel/pkg/dingo"
	"yundian/internel/pkg/dingo/global"
	"yundian/internel/pkg/utils"
)

type PlaceIdNameList struct {
	Id          int    `gorm:"column:id" json:"id"`
	PlaceName   string `gorm:"column:place_name" json:"placeName"`
}

type PlaceIdList struct {
	PlaceId     int    `gorm:"column:place_id" json:"placeId"`
}

func main() {
	dingo.InitViper("./configs/adm.yaml")
	dbs.NewMysqlComponent().Step()

	// 携程门店价格修改为19
	//var datalb []int
	//lists := GetCtripPlace()
	//for _, lst := range lists {
	//	priceInfo := GetPriceInfoByPlaceId(lst.Id)
	//	datalb = append(datalb, lst.Id)
	//	m := prices.New()
	//	m.DeviceTypeId = priceInfo.DeviceTypeId
	//	m.PlaceId = lst.Id
	//	m.Status = priceInfo.Status
	//	m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//	m.UseDuration = priceInfo.UseDuration // 使用时长
	//	m.PayMoney = priceInfo.PayMoney       // 支付金额-单位分
	//	m.SetMealNum = priceInfo.SetMealNum   // 规则序号
	//	m.RuleName = priceInfo.RuleName       // 规则名
	//	m.IsRecommend = priceInfo.IsRecommend // 是否推荐
	//	m.Priority = priceInfo.Priority       // 排序
	//
	//	m.MaxPayPrice = 1990                            // 日封顶价格
	//	m.PayIntervalPrice = priceInfo.PayIntervalPrice // 每60分钟支付2元
	//	m.PayInterval = int(priceInfo.PayInterval)      // 每60分钟支付2元
	//	m.MaxTime = priceInfo.MaxTime                   // 最大使用时长
	//	m.BasePrice = priceInfo.BasePrice               // 最低使用价格
	//	m.BaseTimes = int(priceInfo.BaseTimes)          // 最低使用时长
	//	m.FreeTimes = int(priceInfo.FreeTimes)          // 免费使用时长
	//	m.Deposit = 1990                                //  押金
	//
	//	m.Name = "2023五一调整19元"
	//
	//	m.CreateAt = dingo.Time(time.Now().Unix())
	//	dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//}
	//log.Println("修改总数：", len(datalb), datalb)

	// 昀电价格调整
	//var datalb []int
	//lists := GetAllPlace()
	//for _, lst := range lists {
	//	priceInfo := GetPriceInfoByPlaceId(lst.Id)
	//	datalb = append(datalb, lst.Id)
	//	m := prices.New()
	//	m.DeviceTypeId = priceInfo.DeviceTypeId
	//	m.PlaceId = lst.Id
	//	m.Status = priceInfo.Status
	//	m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//	m.UseDuration = priceInfo.UseDuration // 使用时长
	//	m.PayMoney = priceInfo.PayMoney       // 支付金额-单位分
	//	m.SetMealNum = priceInfo.SetMealNum   // 规则序号
	//	m.RuleName = priceInfo.RuleName       // 规则名
	//	m.IsRecommend = priceInfo.IsRecommend // 是否推荐
	//	m.Priority = priceInfo.Priority       // 排序
	//
	//	m.MaxPayPrice = 1990                            // 日封顶价格
	//	m.PayIntervalPrice = priceInfo.PayIntervalPrice // 每60分钟支付2元
	//	m.PayInterval = int(priceInfo.PayInterval)      // 每60分钟支付2元
	//	m.MaxTime = priceInfo.MaxTime                   // 最大使用时长
	//	m.BasePrice = priceInfo.BasePrice               // 最低使用价格
	//	m.BaseTimes = int(priceInfo.BaseTimes)          // 最低使用时长
	//	m.FreeTimes = int(priceInfo.FreeTimes)          // 免费使用时长
	//	m.Deposit = 1990                                //  押金
	//
	//	m.Name = "2023五一调整19元"
	//
	//	m.CreateAt = dingo.Time(time.Now().Unix())
	//	dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//}
	//log.Println("修改总数：", len(datalb), datalb)

	// 获取来宾帐号下的门店
	//var datalb []int
	//lists := GetPlaceIdsByUserId(406008)
	//for _, lst := range lists {
	//	priceInfo := GetPriceInfoByPlaceId(lst)
	//	if priceInfo.Name == "2022年国庆(15)to(20)" {
	//		datalb = append(datalb, lst)
	//		m := prices.New()
	//		m.DeviceTypeId = priceInfo.DeviceTypeId
	//		m.PlaceId = lst
	//		m.Status = priceInfo.Status
	//		m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//		m.UseDuration = priceInfo.UseDuration // 使用时长
	//		m.PayMoney = priceInfo.PayMoney       // 支付金额-单位分
	//		m.SetMealNum = priceInfo.SetMealNum   // 规则序号
	//		m.RuleName = priceInfo.RuleName       // 规则名
	//		m.IsRecommend = priceInfo.IsRecommend // 是否推荐
	//		m.Priority = priceInfo.Priority       // 排序
	//
	//		m.MaxPayPrice = 1500          // 日封顶价格
	//		m.PayIntervalPrice = priceInfo.PayIntervalPrice // 每60分钟支付2元
	//		m.PayInterval = int(priceInfo.PayInterval)      // 每60分钟支付2元
	//		m.MaxTime = priceInfo.MaxTime                   // 最大使用时长
	//		m.BasePrice = priceInfo.BasePrice               // 最低使用价格
	//		m.BaseTimes = int(priceInfo.BaseTimes)          // 最低使用时长
	//		m.FreeTimes = int(priceInfo.FreeTimes)          // 免费使用时长
	//		m.Deposit = 1500                        //  押金
	//
	//		m.Name = "2022来宾价格调回15元"
	//
	//		//酒店ID
	//
	//		m.CreateAt = dingo.Time(time.Now().Unix())
	//		dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//	}
	//}
	//log.Println("修改总数：", len(datalb), datalb)
	//21 [446286 446411 446484 446722 446723 446725 446726 446729 446760 446761 446763 446764 446765 446773 446798 446799 446800 446814 446855 447146 447253]

	//获取计时门店，南宁分公司、来宾除外
	//lists := GetPlaceListByFeeMode(1)
	//rlst := GetPlaceIdsByUserId(221)
	//rlst1 := GetPlaceIdsByUserId(406008)
	//var data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12,
	//data13,data14,data15,data16,data17,data18,data19,data20 []int
	//for _, lst := range lists {
	//	if utils.ContainsInt(rlst, lst) {
	//		continue
	//	}
	//	if utils.ContainsInt(rlst1, lst) {
	//		continue
	//	}
	//	priceInfo := GetPriceInfoByPlaceId(lst)
	//	if priceInfo != nil {
	//		if priceInfo.MaxPayPrice == 100 {
	//			data1 = append(data1, lst)
	//		} else if priceInfo.MaxPayPrice == 200 {
	//			data2 = append(data2, lst)
	//		} else if priceInfo.MaxPayPrice == 300 {
	//			data3 = append(data3, lst)
	//		} else if priceInfo.MaxPayPrice == 400 {
	//			data4 = append(data4, lst)
	//		} else if priceInfo.MaxPayPrice == 500 {
	//			data5 = append(data5, lst)
	//		} else if priceInfo.MaxPayPrice == 600 {
	//			data6 = append(data6, lst)
	//		} else if priceInfo.MaxPayPrice == 700 {
	//			data7 = append(data7, lst)
	//		} else if priceInfo.MaxPayPrice == 800 {
	//			data8 = append(data8, lst)
	//		} else if priceInfo.MaxPayPrice == 900 {
	//			data9 = append(data9, lst)
	//		} else if priceInfo.MaxPayPrice == 1000 {
	//			data10 = append(data10, lst)
	//		} else if priceInfo.MaxPayPrice == 1100 {
	//			data11 = append(data11, lst)
	//		} else if priceInfo.MaxPayPrice == 1200 {
	//			data12 = append(data12, lst)
	//		} else if priceInfo.MaxPayPrice == 1300 {
	//			data13 = append(data13, lst)
	//		} else if priceInfo.MaxPayPrice == 1400 {
	//			data14 = append(data14, lst)
	//		} else if priceInfo.MaxPayPrice == 1500 {
	//			data15 = append(data15, lst)
	//			//
	//			//
	//			m := prices.New()
	//			m.DeviceTypeId = priceInfo.DeviceTypeId
	//			m.PlaceId = lst
	//			m.Status = priceInfo.Status
	//			m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//			m.UseDuration = priceInfo.UseDuration // 使用时长
	//			m.PayMoney = priceInfo.PayMoney       // 支付金额-单位分
	//			m.SetMealNum = priceInfo.SetMealNum   // 规则序号
	//			m.RuleName = priceInfo.RuleName       // 规则名
	//			m.IsRecommend = priceInfo.IsRecommend // 是否推荐
	//			m.Priority = priceInfo.Priority       // 排序
	//
	//			m.MaxPayPrice = 1990          // 日封顶价格
	//			m.PayIntervalPrice = priceInfo.PayIntervalPrice // 每60分钟支付2元
	//			m.PayInterval = int(priceInfo.PayInterval)      // 每60分钟支付2元
	//			m.MaxTime = priceInfo.MaxTime                   // 最大使用时长
	//			m.BasePrice = priceInfo.BasePrice               // 最低使用价格
	//			m.BaseTimes = int(priceInfo.BaseTimes)          // 最低使用时长
	//			m.FreeTimes = int(priceInfo.FreeTimes)          // 免费使用时长
	//			m.Deposit = 1990                        //  押金
	//
	//			m.Name = "2023五一调整19"
	//
	//			//酒店ID
	//
	//			m.CreateAt = dingo.Time(time.Now().Unix())
	//			dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//
	//
	//		} else if priceInfo.MaxPayPrice == 1600 {
	//			data16 = append(data16, lst)
	//		} else if priceInfo.MaxPayPrice == 1700 {
	//			data17 = append(data17, lst)
	//		} else if priceInfo.MaxPayPrice == 1800 {
	//			data18 = append(data18, lst)
	//		} else if priceInfo.MaxPayPrice == 1900 {
	//			data19 = append(data19, lst)
	//		} else if priceInfo.MaxPayPrice == 2000 {
	//			data20 = append(data20, lst)
	//		}
	//	}
	//}
	//log.Println(len(lists), len(data1), len(data2), len(data3), len(data4), len(data5), len(data6),
	//	len(data7), len(data8), len(data9), len(data10), len(data11), len(data12), len(data13), len(data14),
	//		len(data15), len(data16), len(data17), len(data18), len(data19), len(data20))

	// 海南一代、二代价格从19.9元调整回15元    219|405920
	//rlst := GetPlaceIdsByUserId(219)
	rlst := GetGxPlace()
	for _, lst := range rlst {
		priceInfo := GetPriceInfoByPlaceId(lst.PlaceId)
		if priceInfo.Name == "19元改回15元" {
			m := prices.New()
			m.DeviceTypeId = priceInfo.DeviceTypeId
			m.PlaceId = lst.PlaceId
			m.Status = priceInfo.Status
			m.ProductId = utils.Str2Md5(helper.GenerateUUID())

			m.UseDuration = priceInfo.UseDuration // 使用时长
			m.PayMoney = priceInfo.PayMoney       // 支付金额-单位分
			m.SetMealNum = priceInfo.SetMealNum   // 规则序号
			m.RuleName = priceInfo.RuleName       // 规则名
			m.IsRecommend = priceInfo.IsRecommend // 是否推荐
			m.Priority = priceInfo.Priority       // 排序

			m.MaxPayPrice = 1990          // 日封顶价格
			m.PayIntervalPrice = priceInfo.PayIntervalPrice // 每60分钟支付2元
			m.PayInterval = int(priceInfo.PayInterval)      // 每60分钟支付2元
			m.MaxTime = priceInfo.MaxTime                   // 最大使用时长
			m.BasePrice = priceInfo.BasePrice               // 最低使用价格
			m.BaseTimes = int(priceInfo.BaseTimes)          // 最低使用时长
			m.FreeTimes = int(priceInfo.FreeTimes)          // 免费使用时长
			m.Deposit = 1990                        //  押金

			m.Name = "15to19202305071744"

			//酒店ID

			m.CreateAt = dingo.Time(time.Now().Unix())
			dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
		}

	}

	// 修改携程套餐价格
	//lists := GetCtripPlace()
	//for _, lst := range lists {
	//	// 获取套餐价格
	//	ruleList := GetRulesModel()
	//	for _, l := range ruleList {
	//		m := prices.New()
	//		m.DeviceTypeId = l.TypeId
	//		m.PlaceId = lst.Id
	//		m.Status = l.Status
	//		m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//		m.UseDuration = l.UseDuration // 使用时长
	//		m.PayMoney = l.PayMoney       // 支付金额-单位分
	//		m.SetMealNum = l.SetMealNum   // 规则序号
	//		m.RuleName = l.RuleName       // 规则名
	//		m.IsRecommend = l.IsRecommend // 是否推荐
	//		m.Priority = l.Priority       // 排序
	//
	//		m.MaxPayPrice = l.MaxPayPrice           // 日封顶价格
	//		m.PayIntervalPrice = l.PayIntervalPrice // 每60分钟支付2元
	//		m.PayInterval = int(l.PayInterval)      // 每60分钟支付2元
	//		m.MaxTime = l.MaxTime                   // 最大使用时长
	//		m.BasePrice = l.BasePrice               // 最低使用价格
	//		m.BaseTimes = int(l.BaseTimes)          // 最低使用时长
	//		m.FreeTimes = int(l.FreeTimes)          // 免费使用时长
	//		m.Deposit = l.Deposit                   //  押金
	//
	//		m.Name = "2022年国庆"
	//
	//		//酒店ID
	//
	//		m.CreateAt = dingo.Time(time.Now().Unix())
	//		dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//	}
	//}

	//lists := GetCtripPlace()
	//for _, lst := range lists {
	//	priceInfo := GetPriceInfoByPlaceId(lst.Id)
	//	if priceInfo.Deposit == 990 {
	//		m := prices.New()
	//		m.DeviceTypeId = priceInfo.DeviceTypeId
	//		m.PlaceId = lst.Id
	//		m.Status = priceInfo.Status
	//		m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//		m.UseDuration = priceInfo.UseDuration // 使用时长
	//		m.PayMoney = priceInfo.PayMoney       // 支付金额-单位分
	//		m.SetMealNum = priceInfo.SetMealNum   // 规则序号
	//		m.RuleName = priceInfo.RuleName       // 规则名
	//		m.IsRecommend = priceInfo.IsRecommend // 是否推荐
	//		m.Priority = priceInfo.Priority       // 排序
	//
	//		m.MaxPayPrice = 1500          // 日封顶价格
	//		m.PayIntervalPrice = priceInfo.PayIntervalPrice // 每60分钟支付2元
	//		m.PayInterval = int(priceInfo.PayInterval)      // 每60分钟支付2元
	//		m.MaxTime = priceInfo.MaxTime                   // 最大使用时长
	//		m.BasePrice = priceInfo.BasePrice               // 最低使用价格
	//		m.BaseTimes = int(priceInfo.BaseTimes)          // 最低使用时长
	//		m.FreeTimes = int(priceInfo.FreeTimes)          // 免费使用时长
	//		m.Deposit = 1500                        //  押金
	//
	//		m.Name = "携程押金价格调整9.9to15"
	//
	//		m.CreateAt = dingo.Time(time.Now().Unix())
	//		dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//	}
	//
	//}

	//修改其他套餐(携程之外)
	//lists := GetPlaceListByFeeModeNotXc()
	//
	//for _, lst := range lists {
	//	// 获取当前门店的套餐价格
	//	pinfo := prices.New()
	//	sql := `SELECT * FROM prices WHERE set_meal_num = 2 and place_id = ? ORDER BY id DESC LIMIT 1`
	//	global.Orm.Raw(sql, lst.PlaceId).Find(&pinfo)
	//	if pinfo.PayMoney == 300 && pinfo.UseDuration == 120 {
	//		// 获取套餐价格
	//		ruleList := GetRulesModel()
	//		for _, l := range ruleList {
	//			m := prices.New()
	//			m.DeviceTypeId = l.TypeId
	//			m.PlaceId = lst.PlaceId
	//			m.Status = l.Status
	//			m.ProductId = utils.Str2Md5(helper.GenerateUUID())
	//
	//			m.UseDuration = l.UseDuration // 使用时长
	//			m.PayMoney = l.PayMoney       // 支付金额-单位分
	//			m.SetMealNum = l.SetMealNum   // 规则序号
	//			m.RuleName = l.RuleName       // 规则名
	//			m.IsRecommend = l.IsRecommend // 是否推荐
	//			m.Priority = l.Priority       // 排序
	//
	//			m.MaxPayPrice = l.MaxPayPrice           // 日封顶价格
	//			m.PayIntervalPrice = l.PayIntervalPrice // 每60分钟支付2元
	//			m.PayInterval = int(l.PayInterval)      // 每60分钟支付2元
	//			m.MaxTime = l.MaxTime                   // 最大使用时长
	//			m.BasePrice = l.BasePrice               // 最低使用价格
	//			m.BaseTimes = int(l.BaseTimes)          // 最低使用时长
	//			m.FreeTimes = int(l.FreeTimes)          // 免费使用时长
	//			m.Deposit = l.Deposit                   //  押金
	//
	//			m.Name = "2022年国庆(300-120)to(400-120)"
	//
	//			//酒店ID
	//
	//			m.CreateAt = dingo.Time(time.Now().Unix())
	//			dao.NewPricesDao().InsertPlacePrice(m).Unwrap() // 新增 商户价格
	//		}
	//	}
	//}
}

// 去除南宁门店ID
func RemoveGxNnPlaceId(allPlaceId, nnPlaceId []int) []int {
	var ids []int
	tempMap := make(map[int]bool)
	for _, l := range allPlaceId {
		if _, ok := tempMap[l]; !ok {
			tempMap[l] = true
		}
	}

	for _, lst := range nnPlaceId {
		if _, ok := tempMap[lst]; ok {
			delete(tempMap, lst)
		}
	}

	for key := range tempMap {
		ids = append(ids, key)
	}

	return ids
}

func GetPlaceIdsByUserId(loginUserId int) []int {
	placesBranchIds := dao.NewUserDao().GetPlacesId(loginUserId).Unwrap().([]int) // 查询用户ID下的所有关联门店
	userIdArr := dao.NewUserDao().QueryChildUserIds(loginUserId).Unwrap().([]int) // 查询用户ID下所有下级用户ID
	placeIdArr := dao.NewPlaceDao().GetPlaceByIds(userIdArr).Unwrap().([]int)     // 下级用户ID 下的门店
	placesBranchIds = append(placesBranchIds, placeIdArr...)                  // 合并门店
	placesIds := utils.RemoveRepByMap(placesBranchIds)                        // 去重门店

	var ids []int
	db := global.Orm.Debug().Table("places").Select("id")
	db.Where("id in (?)", placesIds)

	db.Find(&ids)
	return ids
}

// 获取所有门店
func GetAllPlace() []placemodel.PlaceModel {
	var lists []placemodel.PlaceModel
	sql := `SELECT * FROM places`
	global.Orm.Raw(sql).Find(&lists)
	return lists
}

// 获取携程门店
func GetCtripPlace() []placemodel.PlaceModel {
	var lists []placemodel.PlaceModel
	sql := `SELECT * FROM places WHERE project_label = 'hotel_xc'`
	global.Orm.Raw(sql).Find(&lists)
	return lists
}

// 获取 15 to 20的门店
func GetGxPlace() []PlaceIdList {
	var lists []PlaceIdList
	sql := "SELECT place_id FROM prices WHERE `name` = '19元改回15元' GROUP BY place_id"
	global.Orm.Raw(sql).Find(&lists)
	return lists
}


//func feemode()  {
//	lists := GetPlaceListByFeeMode(1)
//	//lists2 := GetPlaceListByFeeMode(2)
//	var data,data8,data10,data12 []int
//	for _,lst := range lists {
//		priceInfo := GetPriceInfoByPlaceId(lst.PlaceId)
//		if priceInfo != nil {
//			if priceInfo.Deposit < 1000 { // 小于10押金
//				if priceInfo.Deposit == 800 {
//					priceInfo.Id = 0
//					priceInfo.Deposit = 1500
//					priceInfo.MaxPayPrice = 1500
//					priceInfo.CreateAt = dingo.Time(time.Now().Unix())
//					priceInfo.Name = "2022年春节"
//					priceInfo.ProductId = utils.Str2Md5(helper.GenerateUUID())
//					if b := InsertIntoPlacePrice(priceInfo); b {
//						data8 = append(data8, priceInfo.PlaceId)
//					}
//				} else {
//					data = append(data, priceInfo.PlaceId)
//				}
//			} else {
//				if priceInfo.Deposit == 1000 {
//					priceInfo.Id = 0
//					priceInfo.Deposit = 1500
//					priceInfo.MaxPayPrice = 1500
//					priceInfo.CreateAt = dingo.Time(time.Now().Unix())
//					priceInfo.Name = "2022年春节"
//					priceInfo.ProductId = utils.Str2Md5(helper.GenerateUUID())
//					if b := InsertIntoPlacePrice(priceInfo); b {
//						data10 = append(data10, priceInfo.PlaceId)
//					}
//				}
//				if priceInfo.Deposit == 1200 {
//					priceInfo.Id = 0
//					priceInfo.Deposit = 1500
//					priceInfo.MaxPayPrice = 1500
//					priceInfo.CreateAt = dingo.Time(time.Now().Unix())
//					priceInfo.Name = "2022年春节"
//					priceInfo.ProductId = utils.Str2Md5(helper.GenerateUUID())
//					if b := InsertIntoPlacePrice(priceInfo); b {
//						data12 = append(data12, priceInfo.PlaceId)
//					}
//				}
//			}
//		}
//	}
//	log.Println("data", data)
//	log.Println("data8-押金为8元的门店", data8)
//	log.Println("data10-押金为10元的门店", data10)
//	log.Println("data12-押金为12元的门店", data12)
//}

// 获取所有门店 feeMode 1 计时  2套餐
func GetPlaceListByFeeMode(feeMode int) []int {
	var ids []int
	var lists []PlaceIdList
	sql := `select place_id from devices where place_id > 0 and fee_mode = ? group by place_id`
	global.Orm.Raw(sql, feeMode).Find(&lists)
	for _, lst := range lists {
		ids = append(ids, lst.PlaceId)
	}
	return ids
}


func GetPlaceListByFeeModeNotXc() []PlaceIdList {
	var lists []PlaceIdList
	sql := `SELECT place_id FROM devices WHERE place_id IN (SELECT id FROM places WHERE project_label != 'hotel_xc') and fee_mode = 2 GROUP BY place_id`
	global.Orm.Raw(sql).Find(&lists)
	return lists
}

// 获取价格 - 计时
func GetPriceInfoByPlaceId(placeId int) *prices.PriceModel {
	priceInfo := &prices.PriceModel{}
	sql := `select * from prices where place_id = ? and device_type_id = 10 and create_at > 0 and place_id > 0 order by create_at desc limit 1`
	global.Orm.Raw(sql, placeId).Find(priceInfo)
	return priceInfo
}

func InsertIntoPlacePrice(m *prices.PriceModel) bool {
	db := global.Orm.Debug().Table("prices").Create(m)
	if db.Error != nil {
		return false
	}
	return true
}

func GetRulesModel() []devrule.DeviceRulesModel {
	var lst []devrule.DeviceRulesModel
	sql := `select * from device_rule_gq WHERE type_id = 12`
	global.Orm.Raw(sql).Find(&lst)
	return lst
}


//2022/09/30 20:44:34 总门店数： 3764 南宁分公司： 704 去除后： 3214
//2022/09/30 20:44:34 1： 4 2： 1 3： 0 4： 0 5： 4
//2022/09/30 20:44:34 6： 8 7： 0 8： 5 9： 1 10： 43
//2022/09/30 20:44:34 11： 0 12： 305 13： 2 14： 0 15： 2555
//2022/09/30 20:44:34 16： 0 17： 0 18： 8 19： 0 20： 40


//2022/09/30 20:26:34 data1 [444959 20763 446796 447358]
//2022/09/30 20:26:34 data2 [445804]
//2022/09/30 20:26:34 data3 []
//2022/09/30 20:26:34 data4 []
//2022/09/30 20:26:34 data5 [446721 20489 443520 446573]
//2022/09/30 20:26:34 data6 [446886 446811 443847 445537 446324 448377 446312 446315]
//2022/09/30 20:26:34 data7 []
//2022/09/30 20:26:34 data8 [20280 444905 445948 447862 446541]
//2022/09/30 20:26:34 data9 [20825]
//2022/09/30 20:26:34 data10 [446295 447134 445322 446693 446468 446768 447128 447121 447715 447181 445935 447120 445941 447716 446984 446680 447124 446508 446466 444087 447221 447133 447126 447122 447131 446458 447123 447132 447127 447220 447125 446670 447057 446646 447219 446084 446741 447130 447913 445321 447119 447340 447517]
//2022/09/30 20:26:34 data11 []
//2022/09/30 20:26:34 data12 [446155 446506 20387 446888 446970 445975 446407 446578 446873 447078 446156 446145 446157 447213 447179 445577 447184 446099 448453 446175 20972 446252 446303 447287 446187 445825 446256 447323 447222 446026 446364 445875 446858 446124 446322 446864 446268 446600 446378 446065 447229 446214 446655 446477 446350 446053 446900 446325 447166 446597 446179 446879 447284 445992 446682 445694 447261 446263 446950 446218 446672 446857 441979 446464 447223 446592 446851 445730 446543 447170 446226 446605 445984 446688 446154 446965 446039 446237 447331 446355 447193 447230 447328 446472 445176 446540 446542 447225 446314 445976 447188 446604 445703 446358 446937 446547 447185 446180 446972 446947 447333 446430 443890 445720 446591 446284 446627 446817 445832 446866 448450 443310 446553 446060 447224 446294 446606 447092 445965 447283 446058 445719 445968 447204 446182 446161 447074 446554 445835 445799 446056 445768 446043 447286 446924 446174 446308 446227 447303 447316 445798 447448 446193 445764 446352 446307 446181 446421 447186 447189 445734 444585 446567 446402 446133 446448 447062 445724 446588 446152 445659 446944 445928 445959 446167 446640 444935 445723 446203 447356 446228 447187 446509 446951 446609 446217 447264 446305 447237 446629 446826 446557 445826 446304 446365 446044 446938 446188 446054 447454 448244 446094 446818 447329 446104 446901 446638 446176 446302 446143 446096 446415 446300 446834 446948 446706 445760 446144 446971 446114 448447 446224 445839 447207 446197 446034 446368 444760 446330 446899 446524 446319 447268 446298 447160 446024 446100 446204 445737 446628 445853 445833 445888 446220 445595 446396 446480 446859 446577 446608 20728 446205 447567 445939 447000 446626 446078 447108 446251 445800 446158 446323 446815 447647 446832 446059 446255 447327 446296 445270 445755 446213 446299 445824 447208 445736 445855 446929 441692 447211 445751 446055 446259 446552 446865 446198 446623 445966 445950 445708 446632 446134 448243 445463 446280 447239 447180 445982 446257 446581 446476 446032 445444 445564 446593 446481 446083 446447 446033 446135 443730 447314 443196 446244 443875]
//2022/09/30 20:26:34 data13 [31141 21140]
//2022/09/30 20:26:34 data14 []
//2022/09/30 20:26:34 data15 [30754 31645 444140 446419 20521 443424 446517 446574 20194 20938 446397 447818 31024 443582 448145 31624 446845 447501 447997 20368 31622 448079 446482 442500 447868 448108 31837 444841 446459 447408 31641 446229 448231 444103 445981 446049 446140 447714 448302 447871 448373 444208 444378 31672 31741 31774 442454 443711 448343 443334 444930 445325 442809 447777 447973 31658 442815 444595 447359 442380 447960 448049 20874 31863 445206 446723 446599 31634 445456 447374 447399 31639 446722 447215 447563 448177 447837 443162 443306 20599 31576 443240 444406 446150 443926 446697 447418 31861 447168 448422 446822 447929 442660 448366 31567 31814 447911 448226 21036 443096 444293 448063 442124 31848 447175 447401 31888 445580 447199 21157 448194 446846 448102 444363 444795 448354 447409 20437 20857 31736 32211 444017 31977 441990 443161 443485 443775 446502 31830 445295 447079 447654 447690 448393 20255 31793 442661 444327 446316 31065 444904 446869 445019 447622 31781 443508 443985 20893 31612 447664 448035 21164 445297 446551 446728 448367 31881 443507 446663 448316 31629 21001 442382 445985 448433 444535 446562 448086 448190 443932 444525 446089 447795 31426 447354 31707 31922 441991 442563 31870 443165 447943 31819 446770 448344 21088 31756 442504 445094 447844 448010 32063 446390 31677 445929 448441 31362 446445 446766 448299 21069 31718 21075 442810 443584 447662 448026 443338 446031 442619 448092 20543 31746 446617 446775 442376 443357 446835 447720 446566 448008 443516 446029 447958 448068 31019 31843 448217 21151 31685 443471 444577 445765 446744 447708 446743 448099 31765 31821 21007 443412 443153 445015 448175 443290 448165 445672 445834 447271 442878 443482 447424 20252 20397 31401 443906 447583 31173 443828 448186 448271 448118 443978 445158 446759 444502 446733 447446 31360 31703 32038 447828 20367 21005 445999 448362 447753 448138 442300 447827 31372 31886 31748 447111 446275 31328 443716 444010 445067 30961 446738 448095 446376 31330 443411 444772 447394 448227 31361 442338 445573 446426 448189 31763 31767 446701 447105 448204 444447 446610 448015 446602 448059 448371 448029 446335 447763 443911 443230 448280 444336 447142 448225 20373 443356 32186 442258 444146 445196 445200 445634 445893 447357 444368 447843 31637 444219 444590 447435 447962 442490 448024 443325 444112 446988 31646 444961 446501 443975 445848 445923 446211 20170 447165 447767 447902 446813 20332 443640 444048 445469 448317 30672 31577 444645 447325 444072 446005 446981 447539 442072 446867 448174 448403 31788 442794 447297 20729 442597 446855 21070 447432 447434 448148 21044 447017 31785 447730 443474 443506 444228 447675 20491 31369 447479 20518 31175 444020 448263 444770 20424 446369 448348 20445 445977 443294 448135 445524 446050 442129 446725 447406 447724 442296 443477 448047 442378 443145 445570 447293 448272 443349 31709 446329 30568 446618 20998 447927 21159 31335 443282 446159 447010 446946 448169 31892 448266 448268 21037 446169 447393 447718 448275 448297 448301 444313 448000 20275 446642 448386 20165 31413 445911 446063 31649 31755 443774 447400 447796 32270 445100 446131 20201 446683 446793 446976 447668 446234 21081 444053 447387 442793 443158 444532 447811 31031 443169 446748 446844 447413 446734 447106 448308 443327 443843 20412 442892 443267 444006 447279 21141 31610 447704 31028 32088 443092 444942 444742 447606 448251 20583 447572 448295 20316 443684 444016 445193 21006 20902 441712 446518 31854 31875 447947 447250 20478 444390 446339 446497 447438 448278 31652 31880 442881 446991 447425 446001 447949 442304 445559 446773 21008 446048 31739 31836 444375 447768 447998 443426 447407 445013 447653 447686 442564 443235 446455 31940 442613 447169 448167 444638 20793 445201 444485 447729 448121 443490 444524 445077 446519 445440 20351 31750 31841 447485 446568 447052 447423 447294 447952 448115 446961 443981 445542 446500 446616 20163 20546 31621 442795 447579 448178 443586 445397 446149 442297 445633 446318 31771 444979 447740 447757 446666 447666 447930 20845 31617 444637 447939 441696 443712 445522 447824 31857 444326 447775 448210 442352 444044 446163 448261 447118 445690 446374 447143 447436 448345 31549 32207 443984 446241 446919 31683 445905 448114 31734 444938 442880 443977 443297 448368 448039 31375 441989 443848 446267 442308 444567 444933 447397 445330 445880 446002 447697 448200 21200 446231 447604 20589 443509 31759 446191 446932 447891 31631 31845 447298 444334 446375 447410 447861 447892 20878 444004 447835 448116 31671 443285 447953 31775 442787 447414 447858 20372 442814 442876 443581 446332 447231 20826 31895 442791 447176 448313 448426 20846 21065 31711 448066 448262 30753 30958 446792 447291 448032 31789 31665 443185 446110 447020 447077 444401 20110 20833 444051 447430 447258 447656 448363 32076 32224 444931 446853 443301 444315 446806 31794 445088 446520 448395 20278 31761 443587 448077 447140 20572 444082 448163 443717 444298 31214 31682 447152 31690 447739 448045 448113 20314 31791 443824 446075 30821 444530 448028 31644 31675 31869 448288 447856 448064 445725 446281 447976 447996 20226 31364 31783 446847 20804 445869 446165 31846 446076 441734 447550 447732 31332 447790 447797 442306 444214 447803 444940 447007 448310 30853 32210 444369 444820 448411 31896 443091 445647 447033 20263 444055 446692 448416 31766 443305 443352 444834 448214 446111 445160 446391 446807 448073 442305 444330 447908 444131 448399 31400 444041 446505 448347 31692 448405 444610 20992 446328 31618 447247 447805 448038 441740 446293 31852 446327 31768 446337 448040 444379 444988 445915 447736 20288 20973 442377 447519 447670 31834 31897 31494 31609 31808 446799 447731 443849 444937 447388 447854 443909 446151 31885 448173 444918 445828 448021 448293 442806 446017 446809 444129 447786 448236 448276 444046 444256 446828 20860 20995 31818 20381 444335 446876 447196 31833 445030 448216 31446 32096 441704 442182 444005 447022 20265 20443 31828 31786 31842 32113 447657 448070 448359 20292 444122 443912 447705 448211 21002 21071 32181 448078 20446 448126 31025 443160 443864 447968 20914 446678 446800 447411 446186 448033 448144 444182 444609 444649 444939 446849 446989 445914 446700 447318 448001 447972 448131 448157 31017 446438 447445 443177 445442 447819 20436 444640 447172 32235 446570 446802 442788 445045 448232 31140 443087 443518 446634 443933 30553 446705 445434 445535 21079 31851 31864 443339 444743 446925 447802 447804 446216 446495 447831 21148 447677 448281 448160 31095 442381 443854 445974 446601 20325 446483 446833 446740 444289 447232 442822 447967 447103 447117 21009 31693 31738 31868 442186 444989 446222 447885 31663 447416 20383 443329 447157 447936 448219 442339 445047 446986 448112 443719 444019 446805 448159 442827 445479 447581 20813 31656 31776 446885 448451 443414 444597 446485 447616 444007 448125 443514 445572 447808 447054 448311 445861 447798 448025 31681 444519 443927 444958 447661 444216 445795 448005 448273 448305 444983 31797 446351 446101 447832 448004 448247 20322 31134 446594 446747 443475 446225 20549 31213 31742 447760 448142 443023 446276 444549 445678 446797 445531 447429 447555 445529 447699 447737 446503 446712 31723 444064 445194 447373 444373 446313 448279 447253 443820 446999 448020 21153 448254 445586 446196 31879 443429 443825 20355 444113 447660 448100 20361 31816 445733 446837 447511 443822 446742 446836 21066 447987 447348 448046 20428 20922 442117 446398 446765 442183 445510 447363 31853 444575 446027 448149 446896 21043 20366 20999 441993 442826 442294 443513 443989 445266 442728 447734 444220 445879 446269 442637 443175 21000 442804 443330 447014 448245 32287 446240 20354 20540 448019 444347 446769 443322 444752 448122 445093 448105 447365 31795 443148 446385 448129 444057 445320 448270 446168 447324 442547 446441 446699 447347 443221 31363 445882 446071 20286 31743 31798 445657 443601 447562 32305 446760 31920 444297 445616 31079 443147 446764 447896 444089 448179 31941 443629 20879 32294 448234 31696 20990 442030 443630 447627 448141 448358 20679 448289 446411 446921 447752 448155 446286 446381 443764 446596 31647 443641 444328 20244 31699 442320 444560 444839 448075 20382 445630 443580 447860 448061 448372 447978 31697 443987 444153 446839 448156 448091 31638 446271 20988 446685 448109 445596 442257 447006 444346 445909 446661 444642 448296 448452 31809 441707 447673 20423 443976 444211 31753 441700 447305 448048 443275 444209 445254 444125 445949 448412 444559 445642 31877 442792 447855 448192 447019 20462 443956 445060 446236 447898 31334 444976 446311 447791 447817 446449 447386 442328 443473 444343 446306 447650 442375 30921 31593 446160 448110 448127 20449 31648 31806 447728 31497 446539 447008 447674 448124 31876 442561 443427 443982 446245 444339 443993 444529 446619 448223 448264 30515 443328 446534 446868 441698 447345 32291 444992 447869 448120 31760 444333 447928 446649 448094 20390 443300 447608 446450 445583 448016 443024 448139 443494 444449 448253 446274 447553 448176 447667 20150 32198 447992 448246 20886 443481 445528 31670 444652 446810 444145 447104 447209 31359 446736 443156 448057 447565 447623 20725 31792 32290 442293 443521 442802 447620 447026 447721 447995 442029 445582 448054 447417 446801 448119 20105 20844 31657 443189 445806 446014 21084 445938 448056 20929 446232 447428 20284 21083 31893 443661 446409 443515 446136 444003 444018 447624 30679 31397 446427 446512 448096 31256 32299 446301 32225 442174 446178 446532 447915 32065 442769 448171 442813 445779 442292 443997 447609 446696 31608 443326 445771 445991 446491 443983 447685 447990 444192 446975 447018 447629 447742 446088 447746 448007 448353 443714 445031 447362 447840 448117 443767 31764 446838 447813 20371 447890 447456 442498 447851 447477 447679 447787 448392 31133 31635 447389 448290 443225 447403 31333 443142 20552 31724 443260 447322 447875 444427 446424 446651 447558 445979 446862 446985 21004 446538 447422 448164 20421 31668 447917 32122 31614 448143 444222 447306 448104 31859 444426 446382 447396 441703 443415 447826 20406 448400 445648 446648 447974 444130 445770 446095 448235 31832 446334 20233 441736 448406 446516 447480 20276 31611 31615 441738 444210 444767 32223 446206 446499 448239 31680 446341 446898 445208 446070 446823 447289 448009 20153 20673 444012 444787 31642 446571 447426 446563 447789 20681 21073 446675 447030 447385 448065 448137 21121 443181 20941 21146 447755 447934 448030 446389 446425 442783 446273 446978 447872 448205 20996 31858 446537 447300 20317 443172 443826 447888 20786 31676 31757 446923 443163 31882 443323 446565 446990 447925 447391 447450 447961 32098 446821 447216 447554 32205 444593 447713 447842 444138 445107 447167 444533 20169 448017 447476 447963 20469 441992 442596 444936 448240 446118 31078 442560 443768 444960 446922 447821 448287 443180 444151 445195 447516 447765 442636 447009 446360 447669 447948 447916 447957 21133 446215 447295 447603 444453 445997 31855 444842 444295 447361 444644 445797 447881 442507 30783 31367 444069 444430 446791 447473 446247 447994 30670 448361 448128 32075 444039 446109 446456 20557 445207 446790 444919 445745 448401 444257 446579 446776 447912 447326 448242 445020 448374 446442 447171 447427 31569 446395 444081 447031 447161 447857 20458 443934 446523 446536 443354 443626 447823 448284 448370 443335 447398 444067 446019 447605 448161 445996 447368 20569 443571 447013 447524 31212 31254 31603 31939 442287 446291 31713 443295 444773 20932 445298 446353 31899 443298 444643 21199 447302 448152 20963 443191 443479 32179 446072 447799 31216 445944 447859 20324 21040 444104 444325 447254 447942 30514 446074 448168 21045 31026 443710 447991 30565 443823 446819 444987 447292 21171 446418 448076 445807 447296 20457 448166 31710 447560 447794 447807 442309 446362 447879 445871 444065 446046 31878 31944 446037 446525 443321 444121 444499 20755 31813 447384 444501 444608 445530 447206 31664 32274 442343 445033 447034 31891 31747 443157 443773 20465 443144 443851 446514 32159 446633 447899 31840 444147 446141 447741 444639 31655 443634 31660 447471 443236 448087 443303 445943 448123 20435 31695 20539 443986 444565 30689 445796 448153 446192 20442 31113 31371 31787 31938 446239 447162 21041 31032 31640 443713 443729 442918 443931 445995 447814 442116 447320 448130 31623 31673 443883 442592 447390 31894 447319 448006 444223 446413 21033 442119 31373 445827 20732 447970 444345 447946 32148 442821 447652 447793 31620 444132 444408 446326 443089 30742 446432 447841 31847 446344 31186 442824 447830 444157 443333 448228 447801 31399 446668 20290 447107 447433 447969 446635 20997 446687 447029 447940 20554 31020 442175 444106 444133 443284 443821 442825 443578 446575 447874 443994 444204 446636 445253 447201 447369 448154 443291 445543 447848 447028 445846 447339 447845 447907 20784 30803 31745 442184 445095 448081 448198 32116 446460 31688 31691 448220 442562 446057 443910 446093 448074 20771 443770 447663 448002 448090 441731 20414 447975 448398 32152 443416 444596 20448 443577 447754 444042 446091 20395 31366 30674 447335 20370 31827 444184 444215 446994 443405 447820 447897 443574 446184 446550 443620 444212 445671 31643 444500 443769 446611 447655 31839 448357 20245 447873 31702 441709 442947 448014 446393 447478 31023 445792 447392 447986 20928 445471 447825 20574 445293 445894 448107 31659 448151 447850 448044 31704 31815 31826 444139 446484 32077 30861 441713 447089 447816 444011 444234 446117 446681 446691 447941 448196 20238 31370 446487 447809 446488 447023 447452 31751 442334 445046 446062 446444 447101 443856 445544 20323 31749 31844 443343 443679 446656 31651 446346 447877 448249 442286 443347 448071 448170 31865 448185 446266 446270 446998 31365 443088 447200 444572 447025 447299 447580 448080 445969 446848 447806 447989 447766 448292 20344 21003 444110 444225 445631 447965 447993 448252 31627 31705 445024 446162 446015 31616 446526 447112 447587 444301 443066 31630 447015 20369 446338 448055 448201 21204 445837 446535 20858 444389 32029 443143 447217 31331 442948 445111 447980 448158 443575 446665 446870 447021 31884 442290 446086 446689 448314 31937 446354 446726 447032 447249 444523 446146 446504 20182 20985 446405 447113 31796 444040 445747 447421 31730 446737 447281 448018 448023 20900 448298 448012 31619 445788 446410 448103 445184 447282 446739 447093 447349 446771 448058 446779 447525 446522 446690 443168 447395 447360 31700 31810 32282 443167 443425 443101 443286 447012 447719 447364 30960 446895 31138 448356 32130 444497 447035 444141 445014 31802 446164 448146 20789 443715 31800 445228 447882 445884 446116 447367 20994 443171 446440 446513 446695 448082 448369 31591 444576 448315 20374 31674 21035 442333 443293 447177 447570 447723 30566 31817 443850 445361 443642 444107 444543 445655 447146 446549 446589 446918 31650 444448 31538 32273 30962 443345 447646 447864 448241 448388 442502 443499 31883 443576 445656 443170 448181 447658 447815 21112 446457 447556 447610 448218 31021 32091 447589 447671 31563 442342 443907 443472 448034 31029 446669 445188 447615 448258 31163 444090 444962 447829 443908 447412 446030 448051 446420 448101 21038 30693 445978 31804 447011 446349 31626 443234 444405 447863 20529 31727 444193 446153 447321 20993 444024 447027 447419 443430 448312 448449 446428 31628 444128 446637 446643 447937 448150 443166 446414 447745 447883 445628 443636 445326 447439 20108 442790 446564 448213 443428 444504 444564 445612 447625 31678 20133 31866 448207 442291 447709 1424 444432 446798 447002 442595 447933 448062 448267 31534 31942 443771 443261 445561 31805 31669 446408 448300 447100 20719 444984 445922 31022 444400 447688 443155 446090 443324 444455 444729 444963 446659 447904 448286 20803 31799 31807 32074 444054 30966 442789 446148 448402 443331 446515 31811 444377 447722 31294 31579 443413 447717 448133 20438 31762 442805 445568 447964 443146 443865 448285 443498 445470 445913 446671 447665 20107 446729 447150 448250 443084 444031 444796 446292 448031 448182 31867 443765 444456 32199 445192 445229 446897 447733 447749 447016 443344 443813 20353 31662 442453 30959 31116 446170 446763 447632 31872 442784 446761 448084 448106 447971 448069 448206 21067 443687 446614 447366 31666 445611 445783 448060 31661 446283 446377 446814 448351 445847 447280 447678 31987 443340 447475 447530 444155 443696 445912 448197 448230 448283 447750 445902 448202 31856 443102 445307 20528 31440 31850 446238 447895 31780 31898 444088 444503 448052 20461 447707 447847 21086 442341 446863 443337 447566 443728 448085 448098 20313 31829 443988 31825 447959 446112 447420 21042 21046 30864 442188 444150 31824 31873 31889 443409 446703 448199 446657 447659 448229 448282 443572 442185 442489 443583 446412 447676 448257 30546 444052 444071 447535 447865 31592 443470 447951 31731 444296 445993 446510 448147 448184 447288 448089 20430 444291 448233 444977 446260 31698 31721 442823 443930 31769 447592 20342 444135 444941 447642 447672 447564 20158 445520 445793 446119 446401 447205 31192 447932 31566 447248 443388 446370 442301 446995 446521 447102 447529 447876 31625 448265 31483 20851 31862 445874 446720 448294 445717 445900 21201 446860 447584 443487 443643 444897 448277 32112 445624 20132 31790 32304 444982 445876 443292 445870 31578 445016 445617 447784]
//2022/09/30 20:26:34 data16 []
//2022/09/30 20:26:34 data17 []
//2022/09/30 20:26:34 data18 [447983 447981 447984 447344 447985 447982 446852 446082]
//2022/09/30 20:26:34 data19 []
//2022/09/30 20:26:34 data20 [446340 446931 445857 447376 446955 446795 448256 446702 446221 446711 447203 445772 444161 446735 445903 446679 446289 446777 446285 448414 446786 443905 448255 448442 444159 446778 448415 446709 446171 446654 445466 448443 446333 446891 446320 446707 447198 446142 446708 446321]
